#pragma once
#include "DataStructure/Common/Id.h"
#include "DataStructure/Common/Real.h"
#include "DataStructure/Result/Optimization/OptimizationBase.h"

SG_DATASTRUCTURE_POST_NAMESPACE_OPEN

struct LABELData  : public OptimizationBase {
  // SG::DataStructure::Common::Id m_IDVID = 0;  ///< Internal design variable ID
  SG::DataStructure::Common::Id m_DVID = 0;   ///< External design variable ID
  char m_LABEL[8] = {0};                      ///< Design variable label
  SG::DataStructure::Common::Real m_VMIN = 0.0;  ///< Lower bound
  SG::DataStructure::Common::Real m_VMAX = 0.0;  ///< Upper bound
  SG::DataStructure::Common::Real m_DELX =
      0.0;                                    ///< Move limit for a design cycle
  SG::DataStructure::Common::Id m_DVSID = 0;  ///< Discrete value set ID
};

///< @brief 判断数据是否相等
DECLSPEC bool operator==(const LABELData& val1, const LABELData& val2);


SG_DATASTRUCTURE_POST_NAMESPACE_CLOSE
